Advances in very large scale integration have contributed to the current digital signal processors (DSPs). These processors are special purpose microprocessors characterized by architectures and instructions suitable for digital signal processing applications. DSPs are utilized in a number of applications from communications and controls to speech and image processing. Special purpose DSPs, designed for a specific signal processing application, such as for fast fourier transform (FFT) have also emerged.
One such DSP, for example the TMS320C30, supports fixed- and floating-point operations. Features of this processor include 32 bit by 32 bit floating-point multiply operations in one instruction cycle time of 60 nsec. Since a number of instructions, such as load and store, multiply and add, can be performed in parallel in one cycle time, the TMS320C30 can execute a pair of instructions in 30 nsec, allowing for 33.3 MIPS. The TMS320C30 has 2K words of on-chip memory and 16 million words of addressable memory spaces for program, data and input/output. Specialized instructions are available to make common DSP algorithms, such as filtering and spectral analysis, execute fast and efficiently. Like other microprocessors, the DSP may take advantage of higher level languages, such as C and ADA.
In a system having multiple independent DSPs, it is often necessary to synchronize the bit streams running from one DSP to another DSP, and for one DSP to inform or signal another DSP that a specific event has occurred. For example, each DSP may be processing its own independent task, or processing a subset of a task shared by multiple DSPs. When a DSP completes processing a first subset of the task, the DSP signals the other DSP that the first subset has been completed. The other DSP may then perform a second subset of the task. The processors may also exchange data and status information, so that order-dependent processing may proceed correctly.
FIG. 1 illustrates a conventional approach of signaling from one DSP to another DSP. As shown, processing system 10 includes DSPØ, designated as 12, and DSP1, designated as 14. Dedicated lines are connected between DSPØ and DSP1 for providing the signaling function. For example, output 1 terminal of DSPØ provides signal 1 to interrupt 1 terminal of DSP1. By using signal 1, DSPØ informs DSP1 that a specific event has occurred. Signal 1 appears as an interrupt signal to DSP1. FIG. 1 also shows signal 2 placed on another dedicated line between DSPØ and DSP1 for providing a second interrupt to DSP1.
Only a limited number of output terminals in a DSP are available for signaling another DSP. This is a disadvantage as additional signaling may be needed to signal other DSPs in a system. A need exists, therefore, to provide a means for signaling a processor from another processor without depending on the availability of output terminals. The output terminals may then be used for other purposes.